home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
pickup
/
str_chr.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
8KB
|
178 lines
1 KEY (1) ON :ON KEY (1) GOSUB 65010:PLAY OFF
10 DEFINT A-Z
20 DIM T(4,9),D(47),V(23)
30 GOSUB *SCREEN : PLAY OFF:BGM 1:LOAD@ "Q:\FJ\PCM\RYM_ALL1.PMB":LOAD@ "Q:\FJ\FM\FM_1.FMB"
40 '----
50 GOSUB *READ_DATA
60 ' AF PAN PMS AMS
70 DATA 56, 0, 0, 0, 0, 0, 3, 0, 0, 0
80 ' AR DR SR RR SL TL KS ML DT Melody
90 DATA 31, 3, 5, 2, 4, 31, 0, 7, 0, 0
100 DATA 31, 1, 6, 2, 4, 34, 1, 4, 0, 0
110 DATA 31, 4, 6, 4, 1, 20, 0, 1, 0, 0
120 DATA 31, 4, 3, 7, 1, 6, 1, 2, 0, 0
130 GOSUB *VOICE_SET:VOICE 1,V,0
140 '----
150 GOSUB *READ_DATA
160 ' AF PAN PMS AMS
170 DATA 52, 0, 0, 0, 0, 0, 3, 0, 0, 0
180 ' AR DR SR RR SL TL KS ML DT Chord
190 DATA 31, 0, 0, 4, 1, 20, 1, 2, 0, 0
200 DATA 31, 0, 0, 4, 1, 20, 0, 2, 0, 0
210 DATA 31, 0, 0, 4, 1, 3, 1, 2, 1, 0
220 DATA 31, 0, 0, 4, 1, 4, 0, 2, 1, 0
230 GOSUB *VOICE_SET:VOICE 2,V,0
240 '----
250 GOSUB *READ_DATA
260 ' AF PAN PMS AMS
270 DATA 0, 0, 0, 0, 0, 0, 3, 0, 0, 0
280 ' AR DR SR RR SL TL KS ML DT e.bass
290 DATA 31, 15, 14, 9, 12, 47, 1, 8, 7, 0
300 DATA 31, 11, 12, 5, 5, 28, 1, 0, 0, 0
310 DATA 31, 8, 7, 5, 7, 28, 1, 1, 3, 0
320 DATA 31, 6, 5, 7, 3, 1, 1, 1, 3, 0
330 GOSUB *VOICE_SET:VOICE 3,V,0
340 '----
350 GOTO 540
360 *VOICE_SET
370 D%(32)=T%(0,0)
380 FOR I%=0 TO 3:J%=I%+1
390 D%( 8+I%)=(T%(J%,8) AND 7)*16+(T%(J%,7) AND 15)
400 D%(12+I%)=(T%(J%,5) AND 127)
410 D%(16+I%)=(T%(J%,6) AND 3)*64+(T%(J%,0) AND 31)
420 D%(20+I%)=T%(J%,1) AND 31
430 D%(24+I%)=T%(J%,2) AND 31
440 D%(28+I%)=(T%(J%,4) AND 15)*16+(T%(J%,3) AND 15)
450 NEXT
460 D%(33)=((T%(0,6) AND 3)*64)+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)):'D%(34)=0
470 FOR I%=0 TO 47 STEP 2:L&=D%(I%+1)*256+D%(I%)
480 IF L&<&H8000 THEN V%(I%\2)=CINT(L&) ELSE V%(I%\2)=CINT(L&-&H10000)
490 NEXT:RETURN
500 '----
510 *READ_DATA
520 FOR X=0 TO 4:FOR Y=0 TO 9:READ T%(X,Y):NEXT Y:NEXT X
530 RETURN
540 '
550 FOR I=1 TO 14:PART I,I:NEXT
560 T$="T146%CU0"
570 A0$="%CQ8L16V10O4D4.DEF4.FG A4.AAA8.G8.F8 GECEG4G8.>C8.<AG A2G2"
580 C0$="@1%CQ8L16V7O4RD4.DEF4.FG A4.AAA8.G8.F8 GECEG4G8.>C8.<AG A2G4&G8."
590 D0$="Q8L1V5O4F D C E2E2"
600 F0A$="@3%CQ8L16V10O3D8DDD8DDD8DDD8DD":F0A$=F0A$+F0A$
610 F0B$="O3C8CCC8CCC8CCC8CC <A8AAA8AAA8AAA8AA":F0$=F0A$+F0B$
620 G0$="@1%CQ8L4V15O1ARAR ARAR ARAR ARAR"
630 H0$="@1%CQ8L4V15O2RERE RERE RERE RERE"
640 I0$="Q8L16V11O5G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG":I0$=I0$+I0$
650 J0$="Q8L4V11O6RRRG &G1 RRRG &G1"
660 A1$="O3B-4.B->CD4.DE F4.FFF8.E8.D8 EDC+DE4AGFGA4 >EDC+DE4AGFEDC<B-A"
670 C1$="O3RB-4.B->CD4.DE F4.FFF8.E8.D8 EDC+DE4AGFGA4 >EDC+DE4AGFEDC<B-"
680 D1$="O4D <B- G2.>G4 G2A2"
690 F1A$="O2B-8B-B-B-8B-B-B-8B-B-B-8B-B-":F1A$=F1A$+F1A$
700 F1B$="O3C8CCC8CCC8CCC8CC D8DDD8DDD8DDD8DD":F1$=F1A$+F1B$
710 H1$="O2RERE RERE RERE RER8L16EREEEEL4"
720 A2$="O3B-4.B-B-B->CDEFGAB- C4.CCE8.F8.G8 F8.E8.D8&D2 D2D4C4"
730 C2$="O3RB-4.B-B-B->CDEFGAB- C4.CCE8.F8.G8 F8.E8.D8&D2 D2D4C8."
740 D2$="O4D E D F2E2"
750 F2$="O3C8CCC8CCC8CCC8CC D8DDD8DDD8DDD8DD":F2$=F1A$+F2$
760 H2$="O2RERE RERE RERE RL16EEERR4EEEEL4"
770 A3$="O4B-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B-B-B-AGFEDCB- A4.FGA2"
780 D3$="O4F E F D2C+2"
790 F3A$="O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- >C8CCC8CCC8CCC8CC"
800 F3$=F3A$+"O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- A8AAA8AAA8AAA8AA"
810 H3$="O2RERE RERE RERE RER8L16E8EEEEL4"
820 A4$="O4B-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B->CD<B->CDECDF E4.EDC+8.D8.E8"
830 C4$="O4RB-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B>CD<B->CDECDF E4.EDC+8.D8.E16"
840 D4$="O4F E F C2E8.F8.G8&"
850 F4$=F3A$+"O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- >C8CCC8CCE8EEE8EE"
860 A5$="O5E2E8.F8.G8 G2F2 E4D4C+8.D8.E8"
870 C5$="O5RE2E8.F8.G8 G2F2 E4D4C+8.D8.E16"
880 D5$="G2G8.A8.B-8 &B-2A2 G4F4E8.F8.G8"
890 F5$="O3E8EEE8EEE8EEE8EE E8EEE8EED8DDD8DD C+8C+C+C+8C+C+C+8C+C+C+8C+C+"
900 G5$="O1ARAR ARAR ARAR"
910 H5$="O2RERE RERE REL16EEEEEEEEL4"
920 I5$="O5G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG"
930 J5$="O6RRRG RRRG RGRR"
940 PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
950 PLAY "@1U-40"+A0$,"@1U40"+A0$,"U40"+C0$,"@2%R"+D0$,"@2%LU-80"+D0$,F0$,G0$,H0$,"@1%R"+I0$,"@1%LU80"+I0$,"@1%R"+J0$,"@1%LU80"+J0$
960 PLAY A1$,A1$,C1$,D1$,D1$,F1$,G0$,H1$,I0$,I0$,J0$,J0$
970 PLAY A0$,A0$,C0$,D0$,D0$,F0$,G0$,H0$,I0$,I0$,J0$,J0$
980 PLAY A2$,A2$,C2$,D2$,D2$,F2$,G0$,H2$,I0$,I0$,J0$,J0$
990 PLAY A3$,A3$,C3$,D3$,D3$,F3$,G0$,H3$,I0$,I0$,J0$,J0$
1000 PLAY A4$,A4$,C4$,D4$,D4$,F4$,G0$,H0$,I0$,I0$,J0$,J0$
1010 PLAY A5$,A5$,C5$,D5$,D5$,F5$,G5$,H5$,I5$,I5$,J5$,J5$
1020 GOTO 950
17000 *SCREEN
17010 SCREEN@ 0 : PALETTE@
17020 FOR I=0 TO 15 : PALETTE I,[0,0,0] : NEXT
17030 COLOR ,%5 : CLS
17040 X=630 : Y=30 : MX=2 : MY=3: R=3 : C1=1 : C2=5 : C3=15 : F=16
17050 ST$="PICK UP TOWNS" : GOSUB *STR_PUT
17060 X=575 : Y=30 : MX=2 : MY=3 : R=3 : C1=1 : C2=5 : C3=15 : F=16
17070 ST$="MUSIC PROGRAM" : GOSUB *STR_PUT
17080 GOSUB *F_IN : FOR I=0 TO 2000 : NEXT
17090 X1=10 : X2=510 : Y1=10 : Y2=460 : C1=1 : C2=6 : C3=15
17100 GOSUB *WAKU
17110 X1=20 : X2=500 : Y1=20 : Y2=90 : C1=15 : C2=7 : C3=5
17120 GOSUB *WAKU
17130 X1=20 : X2=500 : Y1=420 : Y2=450 : C1=15 : C2=7 : C3=5
17140 GOSUB *WAKU
17150 X1=20 : X2=500 : Y1=100 : Y2=410 : C1=15 : C2=7 : C3=5
17160 GOSUB *WAKU
17170 SYMBOL (30,430),"PF1キーを押すと、演奏を中断して音楽MENUに戻ります。",1,1,0,,,1
17180 SYMBOL (30,30)," TITLE ",1,1,0,0,PSET,17
17190 SYMBOL (80,53),"The Strongest Challenger",1,2,0,0,PSET,1
17200 SYMBOL (30,110)," DATA ",1,1,0,0,PSET,17
17210 SYMBOL (80,140),"Programed by KAZUYA SHIMADA",1,1,0,0,PSET,1,1
17220 SYMBOL (80,160)," Composed by KAZUYA SHIMADA",1,1,0,0,PSET,1,1
17230 SYMBOL (30,200)," MESSAGE ",1,1,0,0,PSET,17
17240 'ST$()="・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・"
17250 ST$(0)=" 無限ループします。"
17260 ST$(1)=" 音色データは、FJのRYM_ALL1.PMBとFM_1.FMBを使用しま"
17270 ST$(2)="した。"
17280 ST$(3)=""
17290 ST$(4)=""
17300 ST$(5)=""
17310 ST$(6)=""
17320 ST$(7)=""
17330 GOSUB *MESSAGE
17340 RETURN
17350 *STR_PUT
17360 SYMBOL (X,Y),ST$,MX,MY,%C1,R,PSET,F
17370 SYMBOL (X+1,Y),ST$,MX,MY,%C1,R,PSET,F
17380 SYMBOL (X+2,Y),ST$,MX,MY,%C1,R,PSET,F
17390 SYMBOL (X+2,Y-1),ST$,MX,MY,%C1,R,PSET,F
17400 SYMBOL (X+2,Y-2),ST$,MX,MY,%C1,R,PSET,F
17410 SYMBOL (X,Y-2),ST$,MX,MY,%C3,R,PSET,F
17420 SYMBOL (X+1,Y-2),ST$,MX,MY,%C3,R,PSET,F
17430 SYMBOL (X,Y-1),ST$,MX,MY,%C3,R,PSET,F
17440 SYMBOL (X+1,Y-1),ST$,MX,MY,%C2,R,PSET,F
17450 RETURN
17460 *WAKU
17470 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%C2,BF
17480 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%C3
17490 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%C3
17500 CONNECT (X1+1,Y2)-(X2,Y2)-(X2,Y1+1),%C1
17510 CONNECT (X1+2,Y2-1)-(X2-1,Y2-1)-(X2-1,Y1+2),%C1
17520 RETURN
17530 *MESSAGE
17540 FOR I=0 TO 7
17550 SYMBOL (50,230+20*I),ST$(I),1,1,0,0,PSET,1
17560 NEXT I
17570 RETURN
17580 *F_OUT
17590 FOR I=16 TO 1 STEP -1 : GOSUB *PALETTE : NEXT I :COLOR ,%0: CLS: RETURN
17600 *F_IN
17610 FOR I=1 TO 16 : GOSUB *PALETTE : NEXT I : RETURN
17620 *PALETTE
17630 PALETTE 1,[0*I,0*I,1*I]
17640 PALETTE 2,[1*I,0*I,2*I]
17650 PALETTE 3,[2*I,1*I,3*I]
17660 PALETTE 4,[4*I,2*I,6*I]
17670 PALETTE 5,[8*I,6*I,9*I]
17680 PALETTE 6,[12*I,10*I,13*I]
17690 PALETTE 7,[14*I,13*I,15*I]
17700 PALETTE 15,[15*I,15*I,15*I]
17710 RETURN
65000 BGM 0:PLAY "R64":BGM 1
65010 KEY (1) OFF:PLAY OFF:FOR I=0 TO 13:PART I,I:NEXT:GOSUB *F_OUT : RUN"A:Menu.BAS"